Ceci est un brouillon:


Accéder visuellement à une machine distante via ssh

Introduction

Après une installation chez une tierce personne, par exemple chez des amis, bien souvent il vous faut accéder à leur machine quelques temps après.
Cette page se propose de vous permettre de vous y connecter grâce au visionneur de bureau distant déjà installé Vinagre et, afin de sécuriser cette connexion, d'utiliser le protocole SSH1).

Pour la suite le serveur est la machine distante que l'on cherche à atteindre (le pc de l'ami quoi)
Le client est la machine qui prendra le contrôle (en gros votre pc)

Pré-requis

Côté serveur

Par exemple, sur la Freebox V5 tout se passe dans l'interface de gestion de votre compte.
Dans la section Internet sélectionner la partie Configurer le routeur.
Vérifier que le mode routeur est bien activé et dans le bas de cette page redirigé le port 22 vers l'adresse récupérée plus tôt 192.168.0.10:22.
Enregistrer ces nouveaux paramètres et rebooter la freebox ensuite.
FIXME: UDP ou TCP ? moi j'ai mis les 2

Côté Client

Rien tout est installé (un café si vous voulez :-)).

Première Connexion

Depuis la machine cliente (votre pc), saisissez dans un terminal la commande suivante:

ssh -L 5900:localhost:5901 Login@Adresse-ip:Port

Où:

L'option -L 5900:localhost:5901 est facultative. C'est elle qui permet d'accéder au serveur graphique distant en passant par ssh. Si vous comptez utiliser uniquement le terminal, vous pouvez retirer cette partie

Vous devriez avoir une demande de confirmation la première fois pour valider votre connexion au serveur, puis le mot de passe du compte distant (donc le mot de passe du compte utilisateur sur la machine serveur) doit vous être demandé.
Vous êtes maintenant sur le serveur (= la machine distante).

Et maintenant ?

Vous avez donc accès à la machine distante, le problème c'est que la personne qui se trouve devant physiquement (votre client, ami…) ne voit pas forcément ce que vous faites ou vous n'êtes pas très à l'aise avec la ligne de commande.
Pour rappel, vous avez laissez ouvert le terminal précédemment connecté.

Retour visuel de la ligne de commande

Sur le serveur, demander à l'utilisateur distant d'ouvrir un screen avec le nom de son choix (exemple pote)

screen -S pote

et de votre côté entrez dans le terminal connecté par

screen -x pote

Ce que vous saisirez sera maintenant affiché en parallèle sur le terminal distant (donc sous les yeux de votre ami).

Retour graphique de l'environnement

Si vous souhaitez accéder graphiquement au serveur, vérifier sur celui-ci que vino-server est bien dans les applications au démarrage donc bien actif:

ps -ef | grep vino-server

si vous avez pour seule réponse un retour au prompt c'est qu'il vous faut le démarrer par

/usr/lib/vino/vino-server &

puis de votre côté entrer

vinagre localhost:1

Une demande d'autorisation doit apparaitre sur l'écran serveur qu'il faut donc faire valider par la personne devant l'ordinateur distant.
Vous devriez être maintenant sur le pc distant et la personne qui se trouve devant physiquement (votre client, ami…) doit voir toutes vos actions.
FIXME remets une note sur les effets graphique ?

Quitter la connexion distante

Côté client, pour quitter votre accès à distance, quittez vinagre et les terminaux ouverts.
Côté serveur, vous pouvez arrêter le serveur ssh par

sudo service ssh stop

et vino-server par

sudo killall vino-server

FIXME Pas mieux ?
Quitter également les différents terminaux si vous avez utilisé screen.

Sécurité

Par exemple si vous souhaitez utiliser le port 2653 (FIXME à priori pas de souci), vous pourrez vérifier si cette valeur est déjà utilisée en saisissant dans un terminal la commande suivante:
grep -w 2653 /etc/services

Si vous avez un retour au prompt pour seul réponse, c'est que vous pouvez utiliser ce port.
Si vous faites l'essai avec le port 22, vous constaterez qu'il s'agit du port attribué par défaut au système
FIXME On redirige bien 2653 vers 192.168.0.10:22 ?

Voir aussi


Contributeurs: fabux

1)
Secure SHell